package cn.iocoder.yudao.module.erp.controller.admin.recycle.vo.item;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

/**
 * ERP 回收订单项 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class ErpRecycleOrderItemBaseVO {

    @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "产品编号不能为空")
    private Long productId;

    @Schema(description = "产品单位", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "产品单位不能为空")
    private String productUnit;

    @Schema(description = "产品单价", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "产品单价不能为空")
    private BigDecimal productPrice;

    @Schema(description = "产品数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "产品数量不能为空")
    private BigDecimal count;
    
    @Schema(description = "产品重量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "产品重量不能为空")
    private BigDecimal weight;

    @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "金额不能为空")
    private BigDecimal price;
    
    @Schema(description = "备注")
    private String remark;
    
    @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "排序不能为空")
    private Integer sort;

} 